package com.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class SysLocationDbHelper extends SQLiteOpenHelper {
    private static final int DB_VERSION = 5;
    private static final String DB_NAME = "testLocalDb.db";

    public SysLocationDbHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        /**
         * 创建数据库会走的方法
         * <p>
         * 1、在第一次打开数据库的时候才会走
         * <p>
         * 2、在清除数据之后再次运行-->打开数据库，这个方法会走
         * <p>
         * 3、没有清除数据，不会走这个方法
         * <p>
         * 4、数据库升级的时候这个方法不会走
         */
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        /**
         * 升级数据库版本会走的方法
         * <p>
         * 1、第一次创建数据库的时候，这个方法不会走
         * <p>
         * 2、清除数据后再次运行(相当于第一次创建)这个方法不会走
         * <p>
         * 3、数据库已经存在，而且版本升高的时候，这个方法才会调用
         */
    		int updateOldVersion = oldVersion;
    		if (1 == updateOldVersion) {
    			// 处理1的升级
    			updateOldVersion = 2;
    		}

    		if (2 == updateOldVersion) {
    			// 处理2的升级
    			updateOldVersion = 3;
    		}
    		
    		if(3 == updateOldVersion)
    		{
    			//添加3的升级
    			updateOldVersion = 4;
    		}    	
    		
    		if(4 == updateOldVersion)
    		{
    			//添加4的升级
    		}    	
    }

    @Override
    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        /**
         * 执行数据库的降级操作
         * <p>
         * 1、只有新版本比旧版本低的时候才会执行
         * <p>
         * 2、如果不执行降级操作，会抛出异常
         */
    }

}
